Distributed cache refers to storing data in the memory of a distributed system. Distributing content to be cached on physically separated cache service nodes can achieve high availability, high performance, and scalability for event-driven applications. The event-driven third-party application may distribute an output event to various distributed caches, so high availability of results can be ensured. Many event-driven third-party applications need to combine stream data with external data, such as data retrieved from persistent storage. Caching may be used to improve the speed of accessing non-stream data and therefore improve the overall performance of the applications. Thus, caching is widely used in Internet-based applications and large-scale website architecture design.
Presently, distributed caches typically include server distributed cache and client distributed cache. Data is distributed to a cache service node by a predetermined algorithm. If a cache service node behaves abnormally, all the data in the cache service node may be lost. Furthermore, the failure of a cache service node may cause interruption in normal service. Moreover, because data is distributed to a cache service node by a predetermined algorithm, once a cache service node starts to behave abnormally, further requests distributed to the cache service node will not be accepted.